import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import axios from 'axios';
import { debounce } from 'lodash';
const resizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends resizeObserver {
    constructor(callback) {
        callback = debounce(callback, 100);
        super(callback);
    }
};
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.bundle.min.js';

import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css'; 

import 'bootstrap-icons/font/bootstrap-icons.css';

import * as ElementPlusIconsVue from '@element-plus/icons-vue';

const app = createApp(App);

for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component);
}

app.config.globalProperties.$axios = axios;

app.use(store).use(router).use(ElementPlus);

app.mount('#app');
